#ifndef LIB_AX_BHP_SOLVER_H
#define LIB_AX_BHP_SOLVER_H
#include "libAcoustX/solver/SolverBase.h"

namespace ax {
namespace bhp {
class AX_EXPORT Solver : public ax::solve::Base
{
public:
	using sptr = std::shared_ptr<Solver>;
	using csptr = std::shared_ptr<const Solver>;

	Solver();
	virtual ~Solver();

	void setBellhopExePath(const std::string& path);
	std::string getBellhopExePath() const;

	res::Line::sptr solveLine(param::Line::sptr solve_param) override;
	res::Point::sptr solvePoint(param::Point::sptr solve_param) override;
	res::Area::sptr solveArea(param::Area::sptr solve_param) override;

protected:
	std::string mBellhopExeFullPath;

private:

};

} // namespace bhp
} // namespace ax

#endif // !LIB_AX_BHP_SOLVER_H
